Check that you don't have "SET NOCOUNT ON" in your stored procedure. This will stop the number of affect rows be returned. Default response will always be '-1' in this situation.
Change it to "OFF"
Why ExecuteNonQuery() returns -1
Seyed Hamed Vahedi
Fri, 14 October, 2022